package co.edu.poli.ficb.agl.automatable.modelo;

import java.util.Iterator;

/** 
 * @author Diego Satoba
 * @author Ingrid Baquero
 * @version 1.1, 03/29/11
 * @since 1.1
 */
public interface Cadena {
	
	/**
	 * 
	 * @param cadena
	 * @return
	 */
	public Cadena concatenar(Cadena cadena);
	
	/**
	 * 
	 * @return
	 */
	public Iterator<Simbolo> iterator();
	
	/**
	 * 
	 * @param simbolo
	 * @return
	 */
	public boolean agregarSimbolo(Simbolo simbolo);
	
	/**
	 * 
	 * @return
	 */
	public int longitud();
	
	/**
	 * 
	 * @param n
	 * @return
	 */
	public Cadena potencia(int n); 
}
